package ar.utn.frgp.banco.front.action.clientes;

import ar.utn.frgp.banco.dto.ClienteDTO;
import ar.utn.frgp.banco.entity.Cliente;
import ar.utn.frgp.banco.exceptions.PersonalisedException;
import ar.utn.frgp.banco.front.action.EBAbstractAction;
import ar.utn.frgp.banco.service.OperacionesClienteServ;

public class ModificarClienteAction  extends EBAbstractAction{

	/**
	 * 
	 */
	private static final long serialVersionUID = -8059193792915792042L;
	
	private ClienteDTO clienteDTO;
	
	private OperacionesClienteServ gestionClientesService;
	
	@Override
	public String execute() throws PersonalisedException {
		if( clienteDTO != null){
			try {
				Cliente cliente = new Cliente();
				cliente.setDni(clienteDTO.getDni());
				cliente.setDireccion(clienteDTO.getDireccion());
				cliente.setMail(clienteDTO.getMail());
				cliente.setClave(clienteDTO.getClave());
				
				gestionClientesService.modificarCliente(cliente);
							
			} catch (PersonalisedException e) {
				addActionError("Sus datos no pudieron ser modificados");
				return ERROR;
			}
		}else {
			addActionError("No hay datos para modificar");
		}
		return SUCCESS;	
	}

	public OperacionesClienteServ getGestionClientesService() {
		return gestionClientesService;
	}

	public void setGestionClientesService(
			OperacionesClienteServ gestionClientesService) {
		this.gestionClientesService = gestionClientesService;
	}

	public ClienteDTO getClienteDTO() {
		return clienteDTO;
	}

	public void setClienteDTO(ClienteDTO clienteDTO) {
		this.clienteDTO = clienteDTO;
	}


	
}
